다중 GPS를 이용한 최소 공분산 알고리즘 기반의

위치 정확도 향상에 관한 연구

김 현 모, 정 슬

충남대학교 메카트로닉스공학과 지능 및 감성공학 실험실

e-mail : khm9527@naver.com, jungs@cnu.ac.kr

Study on Positional Accuracy Improvement by Minimal Covariance Estimation with Multiple GPS Receivers

Hyun-Mo Kim and Seul Jung

Intelligent Systems and Emotional Engineering Laboratory

Department of Mechatronics Engineering

Chungnam National University

Abstract

In this paper, the accuracy of the global position sensed by GPS is improved by using the minimal covariance estimation method. Since the accuracy of a low cost GPS sensor are poor, several GPS  sensors are used to improve the positional accuracy of the moving system. The proposition is confirmed by the experiment with a moving vehicle.

I. 서론

GPS는 상용으로 많이 사용되고 있으며 자율주행 시스템에서는 필수로 요구된다. 고가의 센서를 사용하면 정확도를 높일 수 있으나 실효성이 부족하다. 따라서 저가의 GPS센서를 사용해서 정확도를 높이는 기술이 필요하다.

본 논문에서는 저가의 센서를 여러 개 사용하여 위치 측정의 정확도를 높이는 연구를 수행하였다. 일반적으로 다중 GPS를 이용할 경우 저가의 GPS를 이용해 알고리즘을 통해 고가의 GPS 성능을 구현하고자 한다. 그러한 알고리즘으로는 최소공분산 알고리즘을 이용해 제자리 위치정확도 및 정밀도 향상하는 방식[1], 각 GPS들의 평균과 INS를 융합하는 방식[2], 다중GPS의 평균, 삼각측량법, 그리고 신뢰도에 따른 데이터 선정알고리즘을 융합한 방식[3], 실시간 평균과 신

뢰도 판별, 그리고 GPS들 끼리의 새로운 연결을 통한 위치추정[4] 등의 방법이 있다.

대부분 GPS의 평균을 융합에 사용하며 최소 공분산 알고리즘을 이용하는 경우 주로 제자리 위치추정에서만 사용되어 왔다. 본 논문에서는 고정된 위치에서의 최소공분산 기법을 실시간 이동시스템에 적용하여 위치정확도를 향상시키고자 하였다.

II. 위치추정 알고리즘

2.1 전체 시스템

그림 1은 전체 시스템의 흐름도를 나타낸 것이다. 시스템의 알고리즘은 크게 3가지 부분으로 나눌 수 있다. 첫째, 위치보상 및 재귀 식 둘째, 스위칭 방식의 최소공분산 알고리즘 셋째는 칼만필터이다.

알고리즘의 흐름을 살펴보면 GPS에서 데이터를 받으면 우선 이동시스템의 속도를 확인한다. 가만히 서 있을 때와 이동할 때의 GPS위치공분산 모델이 다르기 때문에 각 각 모델을 다르게 사용하기 위해서이다. 속도가 정해진 값보다 크게 되면 이동알고리즘으로 계산된다. 이동알고리즘이 제자리알고리즘과 다른 점은 위치보상과 칼만 필터의 존재여부이다. 위치보상은 이동하는 시스템이 고정된 시스템처럼 취급하여 최소공분산 기법을 적용할 수 있도록 하는 과정이다. 그 후 실시간 추정을 위해 각각의 GPS들에 대해 평균재귀식, 공분산행렬 재귀식을 거친 뒤 최소공분산 알고리즘을 이용하여 위치를 추정한다. 마지막으로 칼만필터를 통하여 최종위치를 추정하였다.

그림 1. 전체 시스템 흐름도

2.2 위치 보상 및 재귀 식

위치보상은 고가형 GPS(OEMSTAR)를 기반으로 현재 값과 직전 값의 차이를 빼주는 것으로 구현 하였다. 위치 [eqn: P _{i} =[x _{i```} y _{i} ] ^{T}]이며, 위치보상은 식 (1)과 같다.

[eqn: Z _{i} `=`P _{i} `-` {sum _{i=1} ^{3} P _{i}} over {3}]               (1)

평균값의 재귀 식은 식 (2)와 같다.

[eqn: bar{x} ` _{k} `=` {k-1} over {k} bar{x} ` _{k-1} `+` {1} over {k} x _{k}]             (2)

공분산의 재귀 식은 식 (3)과 같다.

[eqn: C _{k(x,y)} `=` {k-1} over {k} (C _{k-1(x,y)} `+ bar{x} ` _{k-1} ` bar{y} ` _{k-1} )`+` {x _{k} `y _{k}} over {k} `-` bar{x} ` _{k} `` bar{y} ` _{k}]  (3)

2.3 최소공분산 알고리즘

GPS의 평균값은 식 (4)와 같다.

[eqn: mu _{i} `=`E[Z _{i} ]``=`[ mu _{x`i} ```` mu _{y`i} ] ^{T}]           (4)

공분산 데이터는 식 (5)와 식 (6)과 같다.

[eqn: sum _{} ^{} ij`=`E`[``(Z _{i} - mu _{i} )(Z _{j} - mu _{j} )]`=` {bmatrix{C _{k(x1,x2)}&C _{k(x1,y2)}#C _{k(x2,y1)}&C _{k(y1,y2)}}}]   (5)

[eqn: sum _{} ^{} n`=`` {bmatrix{sum _{} ^{} 11&CDOTS &sum _{} ^{} 1n#VDOTS &DDOTS &VDOTS #sum _{} ^{} n1&CDOTS ````&sum _{} ^{} nn}}]           (6)

최소공분산 알고리즘 중 Trace Minimization(TRC)방식은 라그랑주 승수법을 이용하며 cost function을 식 (7)과 같이 구현되었다 [1].

[eqn: J``= {1} over {2} Tr[W ^{T} sum _{} ^{} W]+Tr[ LAMBDA (I _{2} -W ^{T} H)]]      (7)

여기서 [eqn: LAMBDA]는 라그랑주승수법의 대각행렬이고, [eqn: I _{2}]는 단위행렬이며 H는 [eqn: [I _{2} ` CDOTS I _{2} ] ^{T}]이다. 이 때 cost function을 최소화하도록 풀면 가중치를 구할 수 있고, 식 (8)과 같다.

[eqn: W _{trc} ^{T} `=`[H` ^{T} `( sum _{} ^{} n`) ^{-1} H] ^{-1} H ^{T} ( sum _{} ^{} n)` ^{-1}]      (8)

Trace Minimization(TRC)의 추정위치는 식 (9)와 같다.

[eqn: mu _{trc} `=`W _{trc} ^{T} [ mu _{1} ^{T} CDOTS mu _{n} ^{T} ] ^{T}]            (9)

2.4 칼만 필터

선형칼만 필터로 구현하였으며 식은 (10) [eqn: SIM] (14)와 같다 [2].

[eqn: hat{y} ( bar{k} )`=A _{K} + hat{y} (k-1)]               (10)

[eqn: P _{K} ( bar{k} )`=A _{K} P(k-1)A ^{T} +Q]            (11)

[eqn: K _{K} (k)=P _{K} ( bar{k} )H ^{T} (H`P`( bar{k} `)H ^{T} +R _{K} `) ^{-1}]        (12)

[eqn: hat{y} (k)`= hat{y} ( bar{k} )+K _{K} (y(k)-H``` hat{y} ( bar{k} ))]           (13)

[eqn: P _{K} (k)`=P _{K} ( bar{k} )-K _{K} `HP _{K} ( bar{k} )]           (14)

사용된 시스템 모델은 식 (15)와 같다.

[eqn: {bmatrix{d#eqalign{v# a}}} _{k+1} = {bmatrix{1&DELTA t&{1} over {2} DELTA t ^{2}#0&1&DELTA t#0&0&1}} {bmatrix{d#v#a}} _{k}]            (15)

Ⅲ. 실험결과

3.1 실험조건 및 환경

실험에 사용된 GPS는 안테나 및 보드 일체형인 AKBU6 3개이며, 비교 GPS는 OEMSTAR 보드와 ANT-35C2GA안테나를 이용하였다. 샘플링은 1Hz로 GPS의 데이터를 받았으며, 프로그램은 Labview를 사용하여 알고리즘을 구현하였다. 지정된 경로를 이동할  경우에 대해서 실험을 진행하였다. 실제 차량을 이용해 약 10km/h의 속도로 충남대학교 교내를 이동하면서 실험하였다.

그림 2는 주행 경로를 나타낸다. 충남대학교 공대 삼거리에서 교내 기숙사까지 이동하였다.

그림 2. 주행 경로

3.2 실험결과

그림 3은 차량이 이동하면서 추정한 실시간 위치를 나타낸다. 구현한 TRC알고리즘이 제자리에서 저가형 GPS 3개의 평균을 이용한 방식보다 더 정밀하며 최대오차와 평균오차가 크게 줄어드는 것이 확인된다. 표1의 데이터는 OEMSTAR GPS의 평균을 참고로 계산된 결과 값이다.

표 1의 결과를 보면 평균보다 TRC 알고리즘을 이용하였을 때 OEMSTAR GPS와 더 유사한 위치를 추정한다.

그림 3. 이동 실험 결과 그래프

표 1. 실험 2 위치 추정 에러

	최대 오차(m)	평균 오차(m)
GPS 1	5.762	4.101
GPS 2	9.433	3.498
GPS 3	5.214	3.023
3개 평균	2.214	1.347
TRC	0.831	0.425

Ⅳ. 결론 및 향후 연구 방향

본 논문에서는 이동시스템에서의 실시간위치추정을 위해 최소 공분산 알고리즘 기반의 다중 GPS 융합 방식을 제안 하였고, 기존에 일반적으로 사용되는 다중 GPS의 평균을 이용하는 방식보다 매우 좋은 성능을  보이는 것을 실험을 통해 성능을 검증하였다. 다만 실제 좌표의 정확한 위치를 기반으로 비교된 결과가 아니라 고정밀 GPS를 기반으로 비교를 한 결과이기 때문에 정확한 실제위치와의 비교 실험이 필요하며, 효율적인 시스템 구현을 위한 GPS의 개수에 따른 정확도 분석의 추가 실험이 필요하다.

감사의 글

본 논문은 2015년 충남대 자체연구지원과 한국연구재단  기초연구의 지원을 받아 수행되었으며 이에 감사드립니다(NRF-2014R1A2A1A11049503).

참고문헌

[1] D. Devon and T. Holzer, “Minimizing uncertainty and improving accuracy when fusing multiple station GPS receiver”, IEEE International Conference on Multisensor Fusion and Integration for Intelligent Systems, pp. 84-88, 2015

[2] 최승환 외, “다중 GPS를 이용한 EKF 기반의 실외 위치추정 시스템”, 로봇학회 논문지, 8(2), pp. 129-135, 2013.

[3] 문희창 외, “다중GPS를 이용한 문인자동차의 주행알고리즘 개발” 제어로봇시스템학회, 14(1), pp.27-35, 2008.

[4] D. K. Schrader, B. C. Min, Eric T. Matson, and J. E. Dietz, “Real-time averaging of position data from multiple GPS receivers”, Journal of the International Measurement Confederation, 90, pp329-337, 2016.